#include "wieza.h"
#include "plansza.h"

Wieza::Wieza(int x, int y)
        :Figura(x, y, WIEZA)
{
    this->czyAktywna=true;
    this->Graf='W';
    this->Czyruch = 0;
}

bool Wieza::czyMogeIsc(int x, int y, Plansza * plansza)
{
    if(this->czyAktywna == false)
        return false;
    ////////////// W DOL //////////////
    if(this->y == y && this->x < x)
    {
        for ( int i = this->x+1; i != x ; i++)
        {
            if(plansza->GetFiguraAt(i,y) != NULL)
                return false;

        }
        return true ;
    }
    ///////////////// W GORE//////////
    else if(this->y == y && this->x > x)
    {
        for ( int i = this->x-1; i != x ; i--)
        {
            if(plansza->GetFiguraAt(i,y) != NULL)
                return false;

        }
        return true ;
    }
    //////////////// W LEWO /////////////
    else if(this->x == x && this->y > y)
    {
        for ( int i = this->y-1; i != y ; i--)
        {
            if(plansza->GetFiguraAt(x,i) != NULL)
                return false;

        }
        return true ;
    }
    //////////////// W PRAWO ////////////////
    else if(this->x == x && this->y < y)
    {
        for ( int i = this->y+1; i != y ; i++)
        {
            if(plansza->GetFiguraAt(x,i) != NULL)
                return false;

        }
        return true ;
    }

         return false ;
}

bool Wieza::czyMogeBic(int x, int y, Plansza * plansza)
{
    return czyMogeIsc(x,y, plansza);
}

int Wieza::GetCzyruch()
{
    return this->Czyruch;
}

void Wieza::SetCzyruch(int ruch)
{
    this->Czyruch=ruch;
}

void Wieza::SetPrevCzyruch(int prevCzyruch)
{
    this->PrevCzyruch=prevCzyruch;
}

int Wieza::GetPrevCzyruch()
{
    return this->PrevCzyruch;
}


